﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02001483 RID: 5251
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Tutorial : IMessage<Tutorial>, IMessage, IEquatable<Tutorial>, IDeepCloneable<Tutorial>, IBufferMessage
	{
		// Token: 0x17004221 RID: 16929
		// (get) Token: 0x0600EAD2 RID: 60114 RVA: 0x00273C54 File Offset: 0x00271E54
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Tutorial> Parser
		{
			get
			{
				return Tutorial._parser;
			}
		}

		// Token: 0x17004222 RID: 16930
		// (get) Token: 0x0600EAD3 RID: 60115 RVA: 0x00273C5B File Offset: 0x00271E5B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TutorialReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17004223 RID: 16931
		// (get) Token: 0x0600EAD4 RID: 60116 RVA: 0x00273C6D File Offset: 0x00271E6D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Tutorial.Descriptor;
			}
		}

		// Token: 0x0600EAD5 RID: 60117 RVA: 0x00273C74 File Offset: 0x00271E74
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Tutorial()
		{
		}

		// Token: 0x0600EAD6 RID: 60118 RVA: 0x00273C7C File Offset: 0x00271E7C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Tutorial(Tutorial other) : this()
		{
			this.id_ = other.id_;
			this.status_ = other.status_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600EAD7 RID: 60119 RVA: 0x00273CAD File Offset: 0x00271EAD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Tutorial Clone()
		{
			return new Tutorial(this);
		}

		// Token: 0x17004224 RID: 16932
		// (get) Token: 0x0600EAD8 RID: 60120 RVA: 0x00273CB5 File Offset: 0x00271EB5
		// (set) Token: 0x0600EAD9 RID: 60121 RVA: 0x00273CBD File Offset: 0x00271EBD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Id
		{
			get
			{
				return this.id_;
			}
			set
			{
				this.id_ = value;
			}
		}

		// Token: 0x17004225 RID: 16933
		// (get) Token: 0x0600EADA RID: 60122 RVA: 0x00273CC6 File Offset: 0x00271EC6
		// (set) Token: 0x0600EADB RID: 60123 RVA: 0x00273CCE File Offset: 0x00271ECE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TutorialStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x0600EADC RID: 60124 RVA: 0x00273CD7 File Offset: 0x00271ED7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Tutorial);
		}

		// Token: 0x0600EADD RID: 60125 RVA: 0x00273CE5 File Offset: 0x00271EE5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Tutorial other)
		{
			return other != null && (other == this || (this.Id == other.Id && this.Status == other.Status && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600EADE RID: 60126 RVA: 0x00273D24 File Offset: 0x00271F24
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Id != 0U)
			{
				num ^= this.Id.GetHashCode();
			}
			if (this.Status != TutorialStatus.TutorialNone)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600EADF RID: 60127 RVA: 0x00273D82 File Offset: 0x00271F82
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600EAE0 RID: 60128 RVA: 0x00273D8A File Offset: 0x00271F8A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600EAE1 RID: 60129 RVA: 0x00273D94 File Offset: 0x00271F94
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Id != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.Id);
			}
			if (this.Status != TutorialStatus.TutorialNone)
			{
				output.WriteRawTag(120);
				output.WriteEnum((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600EAE2 RID: 60130 RVA: 0x00273DF0 File Offset: 0x00271FF0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Id != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Id);
			}
			if (this.Status != TutorialStatus.TutorialNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600EAE3 RID: 60131 RVA: 0x00273E48 File Offset: 0x00272048
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Tutorial other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Id != 0U)
			{
				this.Id = other.Id;
			}
			if (other.Status != TutorialStatus.TutorialNone)
			{
				this.Status = other.Status;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600EAE4 RID: 60132 RVA: 0x00273E98 File Offset: 0x00272098
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600EAE5 RID: 60133 RVA: 0x00273EA4 File Offset: 0x002720A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 40U)
				{
					if (num != 120U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.Status = (TutorialStatus)input.ReadEnum();
					}
				}
				else
				{
					this.Id = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04005CFD RID: 23805
		private static readonly MessageParser<Tutorial> _parser = new MessageParser<Tutorial>(() => new Tutorial());

		// Token: 0x04005CFE RID: 23806
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005CFF RID: 23807
		public const int IdFieldNumber = 5;

		// Token: 0x04005D00 RID: 23808
		private uint id_;

		// Token: 0x04005D01 RID: 23809
		public const int StatusFieldNumber = 15;

		// Token: 0x04005D02 RID: 23810
		private TutorialStatus status_;
	}
}
